This invention relates to methods and systems for processing digital objects. More particularly the invention concerns methods and systems for protecting digital objects.
The use of networked computers has greatly increased the volume of on line purchases and exchange of goods. For example, the Internet is capable of bringing sellers and buyers together in a manner that has never before been possible. This confluence of buyers and sellers has contributed greatly to an increase in the use and sale of digital goods. Digital goods are digital objects that can be transmitted from a seller to a buyer using a network media such as the Internet. For example, individuals, using appropriate browsing software, can browse sound bytes from a compact disc (CD) before making an online purchase of the CD. This gives the buyer an opportunity to determine whether they think they would like the purchased product. As another example, consider digital objects in the form of digital images such as pictures or photographs. There is a large market that exists for digital images that can be purchased on line. For example, a photographer may have his portfolio on line so that individuals interested in the photographs can browse them before making a purchase decision. Consider also a freelance news photographer that uses the online media to post a unique photograph associated with a newsworthy event. The online media can provide unprecedented quick access to a pool of potential purchasers that can help the photographer sell his photograph.
Yet, there are risks that are associated with providing unprotected access to digital goods. For example, it is not difficult for unscrupulous individuals to steal unprotected, or even protected digital goods that are accessible via the Internet. This happens everyday.
FIG. 1 shows an exemplary network system that can support the online sale or exchange of digital objects. The system includes one or more clients 10, a network such as the Internet 12, one or more servers 14 and one or more object databases 16. Clients 10 are typically client computers that execute software that enables them to establish a communicative connection with the Internet. Exemplary software includes browsers such as Microsoft""s Internet Explorer. Server 14 is a server computer that is configured to serve up information to client 10 over the Internet 12. The server 14 typically has one or more object databases 16 associated with it where digital objects are stored. To access a digital object, the client 10 may display a web page that has links to the digital objects. When a user clicks on a link with a mouse, the client 10 sends a message over the network to the server 14 that requests an object associated with the link. The server 14 retrieves the object from the object database 16 and sends it to the client 10 over the Internet 12. This is a typical client/server model.
One way that has evolved to protect digital goods is digital watermarking. A digital watermark is a mark of some type that is embedded in a digital object. The mark is generally imperceptible to a viewer, yet can identify the source of the digital object. In the FIG. 1 example, the objects that are stored in the object database 16 may have watermarks embedded therein. The result is that the object that is returned to the client 10 has a mark that identifies the source of the object. If, for some reason, the object is stolen (such as by illegal copying), the object""s source can be determined at a later time by retrieving the watermark from the object. Watermarks do not, however, protect a digital object from being stolen. Rather, they simply enable an individual to identify the source of an object once it is stolen. In addition, watermarks have been subject to malicious and accidental attacks that can render their use ineffective. Once a watermark is discovered and removed, identifying the source of the object is likely impossible. Thus, watermarking is not, in most instances, the best way to protect a digital object.
With respect to digital images, another way of protecting the image is to provide only a thumbnail view of the image for browsing by interested individuals. The original image is withheld from the individual. A thumbnail view is a very small version of the original image. In the FIG. 1 example, when client 10 requests a digital image, the server 14 returns only a thumbnail view of the image to the client 10. While this might protect the original image, there are disadvantages to providing only a thumbnail view of an image. Specifically, because of the smaller size of the image, the quality is often times degraded. This means that the potential purchaser""s viewing experience is not at all optimal.
Another alternative, and one which is at the other end of the spectrum, is to provide interested individuals full access to the full image of interest. In the FIG. 1 example, the server 14 would return a full unprotected image to the client 10. This is a poor solution because the full image can be easily stolen.
To date, there has not been a way to offer digital objects for sale over a medium such as the Internet, in a manner that optimizes the viewer""s ability to browse or sample the object, yet provides a high level of protection for the object. This invention arose out of concerns associated with improving the manner in which digital objects can be offered for sale. Particularly, the invention arose out of concerns associated with providing a high level of digital object protection, yet enhancing a potential purchaser""s viewing or sampling of the object of interest.
Methods and systems of protecting digital objects are described. In one embodiment, a user is presented with a degraded version of a digital object. An exemplary degraded version might be a thumbnail version of a digital image. The user can then request portions of the degraded version of the object. Before a user is allowed to experience the requested portion, it is processed to perturb the portion in a manner that is generally imperceptible to the user. The user can request multiple portions and each portion is advantageously perturbed. In one embodiment, each of the multiple requested portions are perturbed differently so that if a user attempts to assemble the individual portions, they will not fit together. Each perturbation, however, when experienced individually by a user, is generally imperceptible to the user.
In one embodiment, perturbation of the digital images is accomplished by a software component called a perturbation module. The perturbation module can be embodied on a server computer that serves digital objects to client computers, or it can be embodied on client computers that are configured to enable a user to experience the digital objects. The described perturbation module comprises one or more deformations that can be used to perturb a digital object. In embodiments where the digital object comprises a digital image, the deformations can include scaling, translation, and angular orientation deformations to name just a few. In some embodiments, one or more of the deformations have parameters that can be varied to modify the nature of the deformation. These parameters can be used to vary each of the perturbations that are imparted to different portions of a digital image that might be requested by a user. Advantageously, the parameters can be randomly varied for each requested object portion so that no two object portions are compatibly deformed.
In another embodiment, digital objects are protected by constraining a user""s ability to browse the objects. In the described embodiment, a rule-based approach provides a set of rules that govern a user""s browsing behavior. In embodiments where the digital object comprises a digital image, the rules can limit the number of portions of any one image that can be browsed, the number of adjacent portions of the image that can be browsed or percentage of overlap between the portions, or the particular regions of the image that can be browsed. In addition, the rules are combinable, adjustable and extendable to provide a robust collection of rules that are tailored to suit the end user""s preferences.